home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1997 January / Macworld (1997-01).dmg / Shareware World / Info / CSMP Digest / CSMP Digest Vol 4 No 10.text next >
Text File  |  1996-10-12  |  31KB  |  895 lines

  1. C.S.M.P. Digest             Sat, 12 Oct 96       Volume 4 : Issue 10
  2.  
  3. Today's Topics:
  4.  
  5.         A INIT Problem..If HELPED you get it FREE !
  6.         Apple Events and other meanderings...
  7.         AppleGlot 2.2! Where?
  8.         AppleScript to copy an http address and launch Netscape??
  9.         Copying the data from a GWorld to a resource
  10.         Example INIT code needed (avoiding tail patch)
  11.         FairCom's c-tree Plus?
  12.         File Manager Bug?
  13.         Gamma Fades mess up the cursor!
  14.         Getting Map (Time Zone etc) info? FutureBasic?
  15.         Inside Mac
  16.         JPEG I-O with QuickTime?
  17.         JPEG Libraries?
  18.         Names of files and subdirectories in a directory?  DirId from path?
  19.         Palette Problems
  20.         Pop-up Menus and the Space-Time Continuum
  21.         PowerPlant works under Symantec!
  22.         Preemptive scheduled threads
  23.         Printing Thin Lines?
  24.         Printing thin lines?
  25.         Q: Long computation in a board game
  26.         Question about printf
  27.         Quick Basic
  28.         Register-level programming for PowerPC - National instruments DAQ board
  29.         Selectionsort in C
  30.         Simple Programming Game?
  31.         Smacker utilities are now FREE!
  32.         SndNewChannel(<localvar>... crashes. Why?
  33.         SoundLib Shared Library Problem
  34.         The Metrowerks API!
  35.         Using MacApp with Symantec C++ 7.0 (68k)
  36.         Why aren't certain low-mem accessors available in PPC?
  37.         [Q] Dialog + List + EditField + Keyboard Focus
  38.         [Q] Passing a function as an argument
  39.         drawing sound wave
  40.         how can I drive Stuffit from an app?
  41.         problems building ASLM with CodeWarrior MPW
  42.         redirection w- CW 10?
  43.         rowbytes & screendepth?
  44.         sound squeels
  45.  
  46.  
  47.  
  48. The Comp.Sys.Mac.Programmer Digest is moderated by Mark Aiken
  49. (marka@ee.mcgill.ca).
  50.  
  51. The digest is a collection of article threads from the internet
  52. newsgroups comp.sys.mac.programmer.help, csmp.tools, csmp.misc and
  53. csmp.games. It is designed for people who read news semi-regularly and
  54. want an archive of the discussions.  If you don't know what a
  55. newsgroup is, you probably don't have access to it. Ask your systems
  56. administrator(s) for details. If you don't have access to news, you
  57. may still be able to post messages to the group by using a mail server
  58. like anon.penet.fi (mail help@anon.penet.fi for more information).
  59.  
  60. Each issue of the digest contains one or more sets of articles (called
  61. threads), with each set corresponding to a 'discussion' of a particular
  62. subject.  The articles are not edited; all articles included in this digest
  63. are in their original posted form (as received by our news server at
  64. ee.mcgill.ca).  Article threads are not added to the digest until the last
  65. article added to the thread is at least two weeks old (this is to ensure that
  66. the thread is dead before adding it to the digest).  Article threads that
  67. consist of only one message are generally not included in the digest.
  68.  
  69. The digests can be obtained by email, ftp or through the World Wide Web.
  70.  
  71. If you want to receive the digest by mail, send email to 
  72. majordomo@ee.mcgill.ca with no subject and one of the following commands
  73. as body:
  74.  
  75.     help                        Sends you a summary of commands
  76.     subscribe csmp                      Adds you to the mailing list
  77.     unsubscribe csmp                    Removes you from the list
  78.  
  79. Once you have subscribed, you will automatically receive each new
  80. issue as it is created.
  81.  
  82. Back issues are available by ftp from Info-Mac mirror sites in the
  83. per/csmp subdirectory, e.g.
  84.  
  85.   ftp://sumex-aim.stanford.edu/info-mac/per/csmp/
  86.  
  87. The contents of all back issues can be searched by accessing the
  88. following URL, courtesy of Andrew Barry (ajbarry@ozemail.com.au):
  89.  
  90.     http://marvin.stattech.com.au/search.html
  91.  
  92. They can also be searched through the following URLs, thanks to
  93. Tim Tuck (Tim.Tuck@sensei.com.au):
  94.  
  95.     http://wais.sensei.com.au/searchform.html
  96.     wais://wais.sensei.com.au:210/csmp?
  97.  
  98. -------------------------------------------------------
  99.  
  100. >From adrianb@real.net.au (Adrian Bourke)
  101. Subject: A INIT Problem..If HELPED you get it FREE !
  102. Date: Fri, 27 Sep 1996 07:32:13 +0100
  103. Organization: Unknown Organisation
  104.  
  105. hi.
  106.  
  107. I am making an extension.  I want to replace some System Resources(
  108. windows ), HOW do i Do THAT ?
  109.  
  110. Please Help
  111. Adrian Bourke
  112.  
  113. +++++++++++++++++++++++++++
  114.  
  115. >From heksterb@netvision.net.il (Ben Hekster)
  116. Date: Fri, 27 Sep 1996 09:34:38 +0200
  117. Organization: NetVision LTD.
  118.  
  119. Hi--
  120.  
  121. In article <adrianb-2709960732130001@sydney12.real.net.au>,
  122. adrianb@real.net.au (Adrian Bourke) wrote:
  123. > I am making an extension.  I want to replace some System Resources(
  124. > windows ), HOW do i Do THAT ?
  125.  
  126. Have the INIT open a resource file and leave it open.  Then, when someone
  127. calls GetResource they get your copy (unless they do UseResFile(0) first).
  128.  
  129.         Another idea, get the System resource, and SetHandleSize to the
  130. size of your copy.  Mark it unpurgeable and BlockMove your data straight
  131. into the resource.
  132.  
  133.         Or, load your resource into the System heap, call RsrcMapEntry and
  134. replace the resource map entry with your resource.  Mark the resource
  135. unpurgeable, and dispose of the System's copy (and hope that no-one else
  136. was already using it).
  137.  
  138. I would probably go with option #2.
  139.  
  140. (follow-ups redirected)
  141.  
  142. Ben
  143.  
  144. +++++++++++++++++++++++++++
  145.  
  146. >From mouser@zercom.net (Martin-Gilles Lavoie)
  147. Date: 27 Sep 1996 14:20:02 GMT
  148. Organization: Groupimage, inc.
  149.  
  150. In article <heksterb-2709960934380001@ben.odyssey.co.il>,
  151. heksterb@netvision.net.il (Ben Hekster) wrote:
  152.  
  153. > Hi--
  154. > In article <adrianb-2709960732130001@sydney12.real.net.au>,
  155. > adrianb@real.net.au (Adrian Bourke) wrote:
  156. > > I am making an extension.  I want to replace some System Resources(
  157. > > windows ), HOW do i Do THAT ?
  158. > Have the INIT open a resource file and leave it open.  Then, when someone
  159. > calls GetResource they get your copy (unless they do UseResFile(0) first).
  160. >         Another idea, get the System resource, and SetHandleSize to the
  161. > size of your copy.  Mark it unpurgeable and BlockMove your data straight
  162. > into the resource.
  163. >         Or, load your resource into the System heap, call RsrcMapEntry and
  164. > replace the resource map entry with your resource.  Mark the resource
  165. > unpurgeable, and dispose of the System's copy (and hope that no-one else
  166. > was already using it).
  167. > I would probably go with option #2.
  168. > (follow-ups redirected)
  169. > Ben
  170.  
  171. Your INIT can also patch GetResource, Get1Resource, GetIndResource and
  172. Get1IndResource, and check weither someone is attempting to load WIND/DLOG
  173. resources with IDs of those you whish to replace.  At this point,
  174. substitute your own IDs, and call the original trap.
  175.  
  176. -- 
  177. Martin-Gilles Lavoie
  178. "The only trinary-state binary system known to live"
  179. [Develop issue 24, page 4]
  180.  
  181. ---------------------------
  182.  
  183. >From lottsim@aol.com (LOTTSIM)
  184. Subject: Apple Events and other meanderings...
  185. Date: 27 Sep 1996 23:08:28 -0400
  186. Organization: America Online, Inc. (1-800-827-6364)
  187.  
  188. I'm trying to send an 'odoc' AppleEvent to the finder; however, I'm
  189. sending it from an INIT.
  190.  
  191. I have the FSSpec, so where can I go from there?  I know that since INITs
  192. don't have event loops, I can't go about doing this the regular way...
  193.  
  194. All I want is to have my INIT open files, folders, and control panels. 
  195. It's done all the time, too...so it can't be that hard.
  196.  
  197. Thanks ahead of time!
  198.  
  199. Alex Rampell
  200.  
  201. +++++++++++++++++++++++++++
  202.  
  203. >From djembe@sprynet.com (Mike Cohen)
  204. Date: Sat, 28 Sep 1996 15:26:41 -0600
  205. Organization: ISIS International
  206.  
  207. Mime-Version: 1.0
  208. Content-Type: text/plain; charset=iso-8859-1
  209. Content-Transfer-Encoding: 8bit
  210.  
  211. In article <52i4rc$qo6@newsbf02.news.aol.com>,
  212. lottsim@aol.com (LOTTSIM) wrote:
  213.  
  214. >I'm trying to send an 'odoc' AppleEvent to the finder; however, I'm
  215. >sending it from an INIT.
  216. >
  217. >I have the FSSpec, so where can I go from there?  I know that since INITs
  218. >don't have event loops, I can't go about doing this the regular way...
  219. >
  220. >All I want is to have my INIT open files, folders, and control panels. 
  221. >It's done all the time, too...so it can't be that hard.
  222. >
  223. >Thanks ahead of time!
  224. >
  225. >Alex Rampell
  226.  
  227. The finder doesn't support the 'odoc' event. Instead, it takes an "Open
  228. Selection" event (I think it's class 'fndr' ID 'sope'). You can find it
  229. documented in the AppleEvent Registry. I don't remember the URL for it, but
  230. I have a pointer to it at http://www.isis-intl.com/faq.html.
  231.  
  232.  
  233. [ Mike Cohen | djembe@pobox.com | http://pobox.com/~djembe (personal) ]
  234. [            | isis@pobox.com   | http://www.isis-intl.com/ (company) ]
  235. [     Harry Browne for President - http://www.harrybrowne96.org       ]
  236.  
  237.  
  238. ---------------------------
  239.  
  240. >From rvirta@utu.fi (Risto Virtanen)
  241. Subject: AppleGlot 2.2! Where?
  242. Date: Thu, 26 Sep 1996 22:26:02 +0300
  243. Organization: Turku School of Economics
  244.  
  245. Where can I download the latest AppleGlot?
  246. My web search pointed to various Apple sites:
  247.  
  248. http://dev2.info.apple.com/FTPIndices/App-3.html
  249. or 
  250. http://dev3.info.apple.com/FTPIndices/A-5.html
  251.  
  252. but none of them worked because:
  253.  
  254. Netscape Proxy was unable to locate the server: dev2.info.apple.com.
  255. The server does not have a DNS entry.
  256.  
  257. Is there any FTP-site that does have DNS entry?!
  258. Please help, thank you.
  259.  
  260. -- 
  261. Windows95 - "You make a grown man cry." - Rolling Stones
  262. This posting contains nobody's opinions; just pure facts.
  263.  
  264. +++++++++++++++++++++++++++
  265.  
  266. >From Risto Virtanen <rvirta@utu.fi>
  267. Date: 27 Sep 1996 20:15:08 GMT
  268. Organization: Turku School of Economics
  269.  
  270. In article <rvirta-2609962226020001@lake07.tukkk.fi> Risto Virtanen,
  271. rvirta@utu.fi writes:
  272. >Where can I download the latest AppleGlot?
  273.  
  274. Now I found it:
  275. http://devworld.apple.com/dev/techsupport/ftpindices/App-3.html
  276. There are version 2.3 and even newer betas plus manuals :-) 
  277.  
  278. And if you didn't know AppleGlot is for software localization...
  279.  
  280. ---------------------------
  281.  
  282. >From rbest@pixi.com (Ryan)
  283. Subject: AppleScript to copy an http address and launch Netscape??
  284. Date: 17 Sep 1996 20:42:32 GMT
  285. Organization: n/a
  286.  
  287. I'm running a filemaker Pro database and want an AppleScript to do the
  288. following:
  289.  
  290. - copy an http address from a field
  291. - launch Netscape
  292. - paste the http address into the URL field of Netscape
  293. - and press 'return' or whatever to go to that address.
  294.  
  295. (alternatively if there is a way of feeding the http address to Netscape
  296. at the time of the launching, that would be even better!)
  297.  
  298.  
  299. I know how to copy the http address from a field and launch netscape
  300. already (not a big deal), but how do I paste the http address into the URL
  301. field of netscape????
  302.  
  303. Thanks a bunch if you can help :)
  304.  
  305. +++++++++++++++++++++++++++
  306.  
  307. >From awiner@oracle.com (Adam Winer)
  308. Date: Fri, 20 Sep 1996 12:43:00 -0800
  309. Organization: Oracle Corporation
  310.  
  311. In article <3242C9C7.391D@email.mot.com>, ttg232@email.mot.com wrote:
  312.  
  313. > Ryan wrote:
  314. > > 
  315. > > I'm running a filemaker Pro database and want an AppleScript to do the
  316. > > following:
  317. > > 
  318. > > - copy an http address from a field
  319. > > - launch Netscape
  320. > > - paste the http address into the URL field of Netscape
  321. > > - and press 'return' or whatever to go to that address.
  322. > > 
  323. > > (alternatively if there is a way of feeding the http address to Netscape
  324. > > at the time of the launching, that would be even better!)
  325. > > 
  326. > > I know how to copy the http address from a field and launch netscape
  327. > > already (not a big deal), but how do I paste the http address into the URL
  328. > > field of netscape????
  329. > > 
  330. > > Thanks a bunch if you can help :)
  331. > This is probably not the answer you expect but might give you an idea 
  332. > for a workaround.
  333. > I found that you can create a text file with the URL and give it the 
  334. > type URL and creator MOSS. If you start this file, it will open Netscape 
  335. > with that URL. If you find a way to script that, I guess it would do 
  336. > what you want. I don't know too much about apple script, but if you 
  337. > manage to get this working, I'd be pretty much interested.
  338.  
  339. To get Netscape to go to a certain URL, use:
  340.  
  341. tell "Netscape"
  342.   GetURL "http://www.bogus.com"
  343. end tell
  344.  
  345. This same command will also work with Cyberdog, Mosaic,
  346. and, I presume, Internet Explorer.
  347.  
  348. -- Adam Winer
  349. awiner@us.oracle.com
  350.  
  351. -- 
  352. Adam Winer
  353. awiner@us.oracle.com
  354. Technical Staff, Oracle Corp.
  355.  
  356. +++++++++++++++++++++++++++
  357.  
  358. >From Christof Kettner <ttg232@email.mot.com>
  359. Date: Fri, 20 Sep 1996 18:43:51 +0200
  360. Organization: Motorola
  361.  
  362. Ryan wrote:
  363. > I'm running a filemaker Pro database and want an AppleScript to do the
  364. > following:
  365. > - copy an http address from a field
  366. > - launch Netscape
  367. > - paste the http address into the URL field of Netscape
  368. > - and press 'return' or whatever to go to that address.
  369. > (alternatively if there is a way of feeding the http address to Netscape
  370. > at the time of the launching, that would be even better!)
  371. > I know how to copy the http address from a field and launch netscape
  372. > already (not a big deal), but how do I paste the http address into the URL
  373. > field of netscape????
  374. > Thanks a bunch if you can help :)
  375.  
  376. This is probably not the answer you expect but might give you an idea 
  377. for a workaround.
  378. I found that you can create a text file with the URL and give it the 
  379. type URL and creator MOSS. If you start this file, it will open Netscape 
  380. with that URL. If you find a way to script that, I guess it would do 
  381. what you want. I don't know too much about apple script, but if you 
  382. manage to get this working, I'd be pretty much interested.
  383.  
  384. -- 
  385. Best regards,                 **** Avoid printing what you can view ****
  386. Christof                      ****   on your screen. Save a twig!   ****
  387. ========================================================================
  388. Christof Kettner | Senior Programmer / Analyst
  389. Motorola GmbH    | Technical Services + European Print Technology 
  390. Center
  391. Schatzbogen 7    | Voice: +49-89-92103-207       Fax: +49-89-92103-230
  392. D-81829 Muenchen | Email: TTG232@EMAIL.MOT.COM
  393.  
  394. +++++++++++++++++++++++++++
  395.  
  396. >From Forrest Johnson <windle@ti.com>
  397. Date: 28 Sep 1996 02:58:44 GMT
  398. Organization: Fred's Fill Dirt & Croissants
  399.  
  400.  
  401. >Ryan wrote:
  402. >> 
  403. >> I'm running a filemaker Pro database and want an AppleScript to do the
  404. >> following:
  405. >> 
  406. >> - copy an http address from a field
  407. >> - launch Netscape
  408. >> - paste the http address into the URL field of Netscape
  409. >> - and press 'return' or whatever to go to that address.
  410. >> 
  411. >> (alternatively if there is a way of feeding the http address to Netscape
  412. >> at the time of the launching, that would be even better!)
  413. >> 
  414. >> I know how to copy the http address from a field and launch netscape
  415. >> already (not a big deal), but how do I paste the http address into the URL
  416. >> field of netscape????
  417. >> 
  418.  
  419. You can send the OpenURL command directly to Netscape.  This command will
  420. also launch Netscape if it isn't already open.  Use Script Editor to look
  421. at the Netscape scripting dictionary for the exact syntax.  I forget the
  422. exact code, but it would look something like:
  423.  
  424. Tell app "netscape"
  425.   OpenURL urlstring
  426. end tell
  427.  
  428. ---------------------------
  429.  
  430. >From g-kendall@nwu.edu (Brian Kendall)
  431. Subject: Copying the data from a GWorld to a resource
  432. Date: Wed, 25 Sep 1996 17:17:13 -0400
  433. Organization: Programmer
  434.  
  435.  
  436. Hi there!
  437.  
  438.  
  439. I'd like to know how you'd copy the data from a GWorld's baseAddr to a
  440. resource so it could be called up later (by using a function like
  441. GetResource or something). I tried to use BlockMoveData to a resource
  442. handle (obvoiusly a bad move) and my computer crashed afterward. This is
  443. definatly not the way to do it. 
  444.  
  445. Any help would be great!
  446.  
  447.  
  448. Brian K.
  449.  
  450. ãããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããã
  451. "If you take cranberries and stew them like apple sauce, it tastes
  452. much more like prunes then rhubarb does." ã Groucho Marx
  453. ãããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããã
  454.  
  455. +++++++++++++++++++++++++++
  456.  
  457. >From Eric Shieh <erics@edify.com>
  458. Date: Thu, 26 Sep 1996 10:17:16 -0700
  459. Organization: Edify Corporation
  460.  
  461. Brian Kendall wrote:
  462. > I'd like to know how you'd copy the data from a GWorld's baseAddr to a
  463. > resource so it could be called up later (by using a function like
  464. > GetResource or something). I tried to use BlockMoveData to a resource
  465. > handle (obvoiusly a bad move) and my computer crashed afterward. This is
  466. > definatly not the way to do it.
  467. You should be able to treat the baseAddr as any other pointer, after
  468. you do a LockPixels. Your code should look roughly (i never remember
  469. the exact toolbox names) like:
  470.  
  471. Rect boundsRect;
  472. PixMapHandle pixMap;
  473. Handle handleToWriteOut;
  474. long pixMapSize;
  475. short rowBytes;
  476. short height;
  477. short depth;
  478.  
  479. pixMap=GetGWorldPixMap(GWorldToWriteOut);
  480.  
  481. depth=(*pixMap)->pixelSize;
  482.  
  483. boundsRect=(*pixMap)->boundsRect;
  484. height=boundsRect.bottom-boundsRect.top;
  485.  
  486. rowBytes=(*pixMap)->rowBytes&0x3FFF;//top bits are used internally by QD
  487.  
  488. pixMapSize=rowBytes*height*depth/8;//depth is in bits, so we divide by 8
  489. to get bytes
  490.  
  491. handleToWriteOut=NewHandle(pixMapSize);
  492. //make sure you have enough memory!
  493.  
  494. LockPixels(pixMap);
  495. HLock(handleToWriteOut);
  496.  
  497. BlockMoveData((*pixMap)->baseAddr,*handleToWriteOut,pixMapSize);
  498. //BlockMoveData isn't supposed to move memory, so we actually don't
  499. //need to lock anything...but just in case..
  500.  
  501. HUnlock(handleToWriteOut);
  502. UnlockPixels(pixMap);
  503.  
  504. //
  505. //Write out the handle to a resource...
  506.  
  507.  
  508. Hope this helps..
  509.  
  510.  
  511. Eric
  512.  
  513. +++++++++++++++++++++++++++
  514.  
  515. >From dkj@apple.com (Dave Johnson)
  516. Date: Fri, 27 Sep 1996 10:39:50 -0700
  517. Organization: Apple Computer, Inc.
  518.  
  519. In article <g-kendall-2509961717130001@lucky113.nuts.nwu.edu>,
  520. g-kendall@nwu.edu (Brian Kendall) wrote:
  521.  
  522. > Hi there!
  523. > I'd like to know how you'd copy the data from a GWorld's baseAddr to a
  524. > resource so it could be called up later (by using a function like
  525. > GetResource or something). I tried to use BlockMoveData to a resource
  526. > handle (obvoiusly a bad move) and my computer crashed afterward. This is
  527. > definatly not the way to do it. 
  528. > Any help would be great!
  529. > Brian K.
  530.  
  531. You can do as one poster suggested and convert the bit image data to a
  532. handle, then write that out as some kind of resource, but perhaps a better
  533. idea (and simpler, code-wise) is to write it out as a PICT resource. Set
  534. the port to your GWorld, call OpenPicture, Copybits the GWorld onto
  535. itself, call ClosePicture, then write the resulting PicHandle out as a
  536. resource of type 'PICT'. This has the added advantages of storing any
  537. color tables along with the data, and that PICT is a snadard type that can
  538. vbe viewed in REsedit, opened and correctly interpreted by other apps,
  539. etc.
  540.  
  541. Dave Johnson
  542. dkj@apple.com
  543.  
  544. ---------------------------
  545.  
  546. >From alex@metcalf.demon.co.uk (Alex Metcalf)
  547. Subject: Example INIT code needed (avoiding tail patch)
  548. Date: Sun, 22 Sep 1996 16:23:52 GMT
  549. Organization: (none)
  550.  
  551. Hi,
  552.  
  553.      I'm looking around all over the place for some example code,
  554. preferably CW, which does a patch without it being a tail patch. I managed
  555. to roll it a while ago in THINK C, but now in CW I'm a bit stumped now
  556. that I can't just slap in some asm into the middle of a patch function.
  557. Does anyone have anything?
  558.  
  559.      Thanks in advance,
  560.  
  561.  
  562.  
  563.  
  564.      Alex
  565.  
  566. --
  567. Alex Metcalf
  568. alex@metcalf.demon.co.uk
  569.  
  570. +++++++++++++++++++++++++++
  571.  
  572. >From sw@nan.co.uk (Sak Wathanasin)
  573. Date: Fri, 27 Sep 1996 08:44:52 GMT
  574. Organization: Network Analysis Ltd
  575.  
  576. In article <alex-2209961724480001@metcalf.demon.co.uk>,
  577. alex@metcalf.demon.co.uk (Alex Metcalf) wrote:
  578.  
  579. > I managed
  580. > to roll it a while ago in THINK C, but now in CW I'm a bit stumped now
  581. > that I can't just slap in some asm into the middle of a patch function.
  582.  
  583. Oh yes, you can: you have to use the inline form of the function definition
  584. like so:
  585.  
  586.         // works for both Think and MW (and I daresay MPW...)
  587.         #pragma parameter MT_INTOFF(__A0)
  588.         extern void MT_INTOFF(UInt16* mt_store)
  589.                 THREEWORDINLINE(0x40D0, 0x007C, 0x2700);
  590.                 // MOVE      SR,(A0)
  591.                 // ORI.W     #$2700,SR
  592.  
  593.         #pragma parameter MT_INTON(__D0)
  594.         extern void MT_INTON(UInt16 mt_store)
  595.                 ONEWORDINLINE(0x46C0);
  596.                 // MOVE      D0,SR
  597.  
  598. then the compiler will inline the function when you call it.
  599.  
  600. -- 
  601. Sak Wathanasin
  602. Network Analysis Limited
  603. 178 Wainbody Ave South, Coventry CV3 6BX, UK
  604.  
  605. Internet: sw@nan.co.uk 
  606. uucp:     ...!britain.eu.net!nan!sw
  607. Phone: (+44) 1203 419996                              Fax: (+44) 1203 690690
  608.  
  609. ---------------------------
  610.  
  611. >From altura@aol.com (ALTURA)
  612. Subject: FairCom's c-tree Plus?
  613. Date: 27 Sep 1996 13:56:41 -0400
  614. Organization: America Online, Inc. (1-800-827-6364)
  615.  
  616. I'm looking for comments/opinions on FairCom's c-tree Plus. Anything at
  617. all would be appreciated.
  618.  
  619. ==========================
  620. Jordan Zimmerman
  621. jordanz@altura.com
  622. http://www.altura.com/jordanz
  623. http://www.altura.com/jordanz/spocks_beard - Great Prog Rock band
  624. Who is John Galt?
  625.  
  626. +++++++++++++++++++++++++++
  627.  
  628. >From dent@highway1.com.au (Andy Dent)
  629. Date: Sun, 29 Sep 1996 09:47:24 +0800
  630. Organization: A.D. Software
  631.  
  632. In article <52h4gp$cgj@newsbf02.news.aol.com>, altura@aol.com (ALTURA) wrote:
  633.  
  634. >I'm looking for comments/opinions on FairCom's c-tree Plus. Anything at
  635. >all would be appreciated.
  636.  
  637. Jordan
  638.  
  639. I'm very happy with c-tree, so happy that I did a poor man's version of
  640. the shaver ad - I didn't buy the company, but I *did* base our new
  641. products on it.
  642.  
  643. OOFILE allows for replaceable backends (ram-based and dBase are current
  644. alternatives) but the main use is with c-tree as a backend. We've had
  645. clients and beta testers using c-tree on a wide range of hardware for two
  646. years, including Suns, Macs (natch), Wintel and various other Unix.
  647.  
  648. The portable files are excellent - one of our most demanding users is my
  649. ISP who run multi-million record accounting databases (all their TCP/IP
  650. flows). The tech there recently just copied the files to his PowerStation
  651. for the monthly account run, due to Sun problems, and was impressed to
  652. find the programs ran significantly faster than on the SPARCStation.
  653.  
  654. I've had a multi-user (just filesharing) c-tree database going for years
  655. running from 2Mb Classics over Localtalk to a IIci. This is a classified
  656. advertisements publishing system used in a weekly magazine. Performance is
  657. amazingly fast for the hardware (eg: under 1 second from typing Agent No
  658. to display of Agent details).
  659.  
  660. One of our more recent OOFILE clients bought it because he knows c-tree
  661. well, just wants an easier interface on top. He's using Optima++ on
  662. Windows and wanted something based on c-tree rather than the Watcom SQL
  663. provided with Optima++ because of the better performance/overhead of
  664. c-tree.
  665.  
  666. The Faircom page (www.faircom.com) lists a lot of clients, with firms like
  667. Alcatel actually building the server into their PABX boxes.
  668.  
  669. Finally, I'm also very happy with the responsiveness of their tech
  670. support, apart from being stung an extra $100 (freight allowance) for
  671. being a foreign client.
  672.  
  673. Andy Dent, Product Architect, A.D. Software, Western Australia
  674. OOFILE - "the cross-platform OODBMS that speaks c++"
  675. ftp://ftp.highway1.com.au/pub/adsoftware/oofile/
  676. http://www.highway1.com.au/adsoftware/oofile.html
  677.  
  678. ---------------------------
  679.  
  680. >From joe_neufeld@bmug.org (joe neufeld)
  681. Subject: File Manager Bug?
  682. Date: Thu, 26 Sep 96 13:30:03 -0700
  683. Organization: BMUG, Inc.
  684.  
  685. _Inside Macintosh: Files_, page 2-160 states:
  686. "You can use the FSpGetFInfo function to obtain the Finder information about a
  687. file or directory."
  688.  
  689. Why, then, when I pass in an FSSpec describing a directory, the function
  690. returns error code -43 (file not found). It's true, though, that the function
  691. did not find a file (because I passed in a folder), but IM says that the
  692. function accepts folders.
  693.  
  694. I've worked around this problem by calling PBGetCatInfo instead, but I just
  695. wanted to know if I'm doing something wrong, or the documentation is wrong.
  696.  
  697.  
  698. +++++++++++++++++++++++++++
  699.  
  700. >From jumplong@aol.com (Jump Long)
  701. Date: 28 Sep 1996 14:11:19 -0400
  702. Organization: America Online, Inc. (1-800-827-6364)
  703.  
  704. joe neufeld wrote:
  705. >_Inside Macintosh: Files_, page 2-160 states: "You can use the
  706. >FSpGetFInfo function to obtain the Finder information about a
  707. >file or directory."
  708. >
  709. >Why, then, when I pass in an FSSpec describing a directory, the
  710. >function returns error code -43 (file not found). It's true,
  711. >though, that the function did not find a file (because I passed
  712. >in a folder), but IM says that the function accepts folders.
  713. >
  714. >I've worked around this problem by calling PBGetCatInfo instead,
  715. >but I just wanted to know if I'm doing something wrong, or the
  716. >documentation is wrong.
  717.  
  718. That's a documentation error that is corrected in the Macintosh TechNote
  719. "Inside Macintosh-Files Errata"
  720. <http://devworld.apple.com/dev/technotes/im_errata/im_errata_01.html>
  721.  
  722. MoreFiles <ftp://members.aol.com/JumpLong/MoreFiles_1.4.3.sea.hqx> has
  723. routines FSpGetDInfo and FSpSetDInfo that work on directories.
  724.  
  725. - Jim Luther
  726.  
  727. ---------------------------
  728.  
  729. >From jstiles@uclink4.berkeley.edu (John Stiles)
  730. Subject: Gamma Fades mess up the cursor!
  731. Date: Mon, 23 Sep 1996 20:33:22 -0800
  732. Organization: University of California, Berkeley
  733.  
  734. I have a new PowerCenter 150 with somewhat accelerated video (it's got the
  735. same QuickDraw acceleration chip as a 7200 does). I'm not sure if the
  736. acceleration chip is the cause of my problem, but it might shed some
  737. light. 
  738.  
  739. Anyway, my software (Skittles) has one weird glitch. Doing a gamma fade
  740. while in Thousands of Colors invariably causes the white edging around the
  741. arrow cursor to turn solid black. This makes the cursor both ugly and hard
  742. to see. The easy workaround is to change the cursor to some other shape
  743. then turn it back, but this isn't exactly pretty (it would probably make a
  744. weird flicker). It doesn't happen in 256 colors. (However, it does happen
  745. if a gamma fade occurs at thousands of colors, the screen mode is changed
  746. to 256 colors, then the screen is faded back in.)
  747.  
  748. Other applications seem to cause this to occur as well; a good example is
  749. the Power Dimmer screensaver that came with the computer. This effect
  750. never occured on my old computer, though; it was a Power Mac 7100/80.
  751.  
  752. Is this Apple's bug, Power Computing's problem or mine? And what's the
  753. easiest fix/workaround? I thought about making a fake arrow cursor,
  754. switching to it, then switching back to Apple's arrow--this would force a
  755. cursor redraw without having any perceptible change. However, talk about a
  756. crude hack! :(
  757.  
  758. *Stiles
  759.  
  760. +++++++++++++++++++++++++++
  761.  
  762. >From highrisk@best.com (Michael Kelly)
  763. Date: 24 Sep 1996 10:53:22 -0700
  764. Organization: High Risk Ventures, Inc.
  765.  
  766. >> Anyway, my software (Skittles) has one weird glitch. Doing a gamma fade
  767. >> while in Thousands of Colors invariably causes the white edging around the
  768. >> arrow cursor to turn solid black. This makes the cursor both ugly and hard
  769. >> to see. The easy workaround is to change the cursor to some other shape
  770. >> then turn it back, but this isn't exactly pretty (it would probably make a
  771. >> weird flicker). It doesn't happen in 256 colors. (However, it does happen
  772. >> if a gamma fade occurs at thousands of colors, the screen mode is changed
  773. >> to 256 colors, then the screen is faded back in.)
  774. >
  775. >We ran into a similar problem when we did IndyCar Racing II. The solution
  776. >was to hide the cursor during the fade, and reshow it when the fade
  777. >completed.
  778.  
  779. I have exactly the same problem.  Hiding the cursor before the fade
  780. has no effect for me.  If anyone has another solution, preferably not
  781. involving a cursor-switch hack, I'd love to hear it.
  782.  
  783. -- 
  784. | Michael A. Kelly                  High Risk Ventures, Inc |
  785. | President                                    PO Box 70690 |
  786. | mkelly@hrvinc.com                        Eugene, OR 97401 |
  787. | http://www.hrvinc.com                      (415) 359-4176 |
  788.  
  789. +++++++++++++++++++++++++++
  790.  
  791. >From cconway@ea.com (Chris Conway)
  792. Date: Tue, 24 Sep 1996 11:46:17 -0700
  793. Organization: Electronic Arts
  794.  
  795. In article <jstiles-2309962033230001@105.0.102.32.128.in-addr.arpa>,
  796. jstiles@uclink4.berkeley.edu (John Stiles) wrote:
  797.  
  798. > I have a new PowerCenter 150 with somewhat accelerated video (it's got the
  799. > same QuickDraw acceleration chip as a 7200 does). I'm not sure if the
  800. > acceleration chip is the cause of my problem, but it might shed some
  801. > light. 
  802. > Anyway, my software (Skittles) has one weird glitch. Doing a gamma fade
  803. > while in Thousands of Colors invariably causes the white edging around the
  804. > arrow cursor to turn solid black. This makes the cursor both ugly and hard
  805. > to see. The easy workaround is to change the cursor to some other shape
  806. > then turn it back, but this isn't exactly pretty (it would probably make a
  807. > weird flicker). It doesn't happen in 256 colors. (However, it does happen
  808. > if a gamma fade occurs at thousands of colors, the screen mode is changed
  809. > to 256 colors, then the screen is faded back in.)
  810.  
  811. I've had the same problem in Shockwave 1 and 2.  The problem only happens
  812. for me on PowerMac 7500, 8500, and on my PowerTower Pro 225 (only on the
  813. monitor driven by the IMS TwinTurbo video card--when I play the game on
  814. the monitor that is driven by an ATI card, it looks fine).
  815.  
  816. It seems to be related to the video card/hardware (possibly on cards that
  817. support a hardware mouse?).  Hiding the cursor does not fix the problem
  818. for me.  For me, it happens in both thousands and 256-color mode.  The
  819. problem will continue on that monitor until I change the color depth or
  820. resolution of the monitor with the Monitors control panel.  Even after I
  821. quit the game, whenever I move the cursor from the "good" monitor to the
  822. "bad" monitor, the cursor changes to all black!
  823.  
  824. Any info would be appreciated.
  825.  
  826. Thanks,
  827. Chris Conway
  828. Electronic Arts
  829.  
  830. +++++++++++++++++++++++++++
  831.  
  832. >From farrier@apple.com (Cary Farrier)
  833. Date: Tue, 24 Sep 1996 16:14:58 -0800
  834. Organization: Apple Computer, Inc.
  835.  
  836. The problem is that when the display mode is changed, the video
  837. subsystem is taking the color palette entries from the faded CLUT
  838. and popping them into the hardware cursor's CLUT.  The only way
  839. to avoid this is to reprogram the cursor, which is a bit of a hack.
  840. That is what DrawSprocket does if a mode change occurs while the
  841. palette is fully faded out.
  842.  
  843. -> Cary
  844.  
  845. -- 
  846. - --------------------------------------------------------------------
  847. Cary Farrier, aka Mr. Draw Sprocket
  848. Software Engineer, Apple Game Technology Group
  849. farrier@apple.com
  850. Visit the Apple Games Website at <http://dev.info.apple.com/games>
  851.  
  852. +++++++++++++++++++++++++++
  853.  
  854. >From jstiles@uclink4.berkeley.edu (John Stiles)
  855. Date: Tue, 24 Sep 1996 16:27:42 -0800
  856. Organization: University of California, Berkeley
  857.  
  858. > > Anyway, my software (Skittles) has one weird glitch. Doing a gamma fade
  859. > > while in Thousands of Colors invariably causes the white edging around the
  860. > > arrow cursor to turn solid black. This makes the cursor both ugly and hard
  861. > > to see. The easy workaround is to change the cursor to some other shape
  862. > > then turn it back, but this isn't exactly pretty (it would probably make a
  863. > > weird flicker). It doesn't happen in 256 colors. (However, it does happen
  864. > > if a gamma fade occurs at thousands of colors, the screen mode is changed
  865. > > to 256 colors, then the screen is faded back in.)
  866. > We ran into a similar problem when we did IndyCar Racing II. The solution
  867. > was to hide the cursor during the fade, and reshow it when the fade
  868. > completed.
  869.  
  870. I tried this already. Hiding the cursor has no effect at all. :( I think
  871. it might depend on which kind of video card you have.
  872.  
  873. *Stiles
  874.